Splitting Atoms with Rely/Guarantee Conditions Coupled with Data Reification
نویسندگان
چکیده
This paper presents a novel formal development of a non-trivial parallel program: Simpson's implementation of asynchronous communication mechanisms (ACMs). Although the correctness of the "4-slot algorithm" has been shown elsewhere, earlier developments are by no means intuitive. The aims of this paper include both the presentation of an understandable (yet formal) design history and the establishment of another way of "splitting (software) atoms". Using the "fiction of atomicity" as an aid to understanding the initial steps of development, the top-level specification is developed to code. The rely-guarantee approach is, here, combined with notions of read/write frames and "phased" specifications; the atomicity assumptions implied by rely/guarantee conditions are realised by clever choice of data representation. The development method herein is compared with other approaches --in a spirit of cooperation-as the authors believe that constructive comparison elucidates many of the finer points in the "4-slot" specification/development and of parallel programs in general. © 2010 University of Newcastle upon Tyne. Printed and published by the University of Newcastle upon Tyne, Computing Science, Claremont Tower, Claremont Road, Newcastle upon Tyne, NE1 7RU, England. Bibliographical details JONES, C.B., PIERCE, K.G. Splitting Atoms with Rely/Guarantee Conditions Coupled with Data Reification [By] C.B. Jones, K.G. Pierce Newcastle upon Tyne: University of Newcastle upon Tyne: Computing Science, 2010. (University of Newcastle upon Tyne, Computing Science, Technical Report Series, No. CS-TR-1186)
منابع مشابه
Rely-Guarantee References for Refinement Types
Reasoning about side effects and aliasing is the heart of verifyingimperative programs. Unrestricted side effects through one refer-ence can invalidate assumptions about an alias. We present a newtype system approach to reasoning about safe assumptions in thepresence of aliasing and side effects, unifying ideas from referenceimmutability type systems and rely-guarantee progr...
متن کاملEnhancing the usability of rely-guarantee conditions for atomicity refinement
Formal methods are a useful tool for increasing the confidence in the correctness of computer programs with respect to their specifications. Formal methods allow designers to model specifications and these formal models can then be reasoned about in a rigourous way. Formal methods for sequential processes are well-understood, however formal methods for concurrent programs are more difficult, be...
متن کاملDeny-Guarantee Reasoning
Rely-guarantee is a well-established approach to reasoning about concurrent programs that use parallel composition. However, parallel composition is not how concurrency is structured in real systems. Instead, threads are started by ‘fork’ and collected with ‘join’ commands. This style of concurrency cannot be reasoned about using rely-guarantee, as the life-time of a thread can be scoped dynami...
متن کاملNuclear-Charge Screening in Positronium Formation from Helium Atoms
An analytical treatment of the electron screening effect within an active-electron model is given for positronium formation from helium atoms. A first-order distorted wave approximation with correct boundary conditions is applied to evaluate the transition amplitude. In the range of impact energy for which the introduced perturbative approach is valid, both the total and differential cross sect...
متن کاملQuantum jumps and spin dynamics of interacting atoms in a strongly coupled atom-cavity system.
We experimentally investigate the spin dynamics of one and two neutral atoms strongly coupled to a high finesse optical cavity. We observe quantum jumps between hyperfine ground states of a single atom. The interaction-induced normal-mode splitting of the atom-cavity system is measured via the atomic excitation. Moreover, we observe the mutual influence of two atoms simultaneously coupled to th...
متن کامل